package com.gesis.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * GesTopic entity. 
 * @author Juan Pablo Pazmin
 */
@Entity
@Table(name = "ges_topic")
public class GesTopic implements java.io.Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Long topKey;
	private GesSubClassification gesSubClassification;
	private Integer topStartDate;
	private Integer topEndDate;
	private String topNameTopic;
	private String topP1;
	private String topP2;
	private String topP3;
	private String topP4;
	private String topP5;
	private String topP6;
	private String topP7;
	private String topP8;
	private String topP9;
	private String topP10;
	private String topP11;
	private String topP12;
	private String topP13;
	private String topP14;
	private String topP15;
	private String topP16;
	private String topP17;
	private String topP18;
	private String topP19;
	private String topP20;
	private String topP21;
	private String topP22;
	private String topP23;
	private String topForschung1;
	private String topForschung2;
	private String topForschung3;
	private String topForschung4;
	private String topForschung5;
	private String topForschung6;
	private String topForschung7;
	private String topForschung8;
	private String topForschung9;
	private String topForschung10;
	private String topForschung11;
	private String topForschung12;

	// Constructors

	/** default constructor */
	public GesTopic() {
	}

	/** full constructor */
	public GesTopic(GesSubClassification gesSubClassification,
			Integer topStartDate, Integer topEndDate, String topNameTopic,
			String topP1, String topP2, String topP3, String topP4,
			String topP5, String topP6, String topP7, String topP8,
			String topP9, String topP10, String topP11, String topP12,
			String topP13, String topP14, String topP15, String topP16,
			String topP17, String topP18, String topP19, String topP20,
			String topP21, String topP22, String topP23, String topForschung1,
			String topForschung2, String topForschung3, String topForschung4,
			String topForschung5, String topForschung6, String topForschung7,
			String topForschung8, String topForschung9, String topForschung10,
			String topForschung11, String topForschung12) {
		this.gesSubClassification = gesSubClassification;
		this.topStartDate = topStartDate;
		this.topEndDate = topEndDate;
		this.topNameTopic = topNameTopic;
		this.topP1 = topP1;
		this.topP2 = topP2;
		this.topP3 = topP3;
		this.topP4 = topP4;
		this.topP5 = topP5;
		this.topP6 = topP6;
		this.topP7 = topP7;
		this.topP8 = topP8;
		this.topP9 = topP9;
		this.topP10 = topP10;
		this.topP11 = topP11;
		this.topP12 = topP12;
		this.topP13 = topP13;
		this.topP14 = topP14;
		this.topP15 = topP15;
		this.topP16 = topP16;
		this.topP17 = topP17;
		this.topP18 = topP18;
		this.topP19 = topP19;
		this.topP20 = topP20;
		this.topP21 = topP21;
		this.topP22 = topP22;
		this.topP23 = topP23;
		this.topForschung1 = topForschung1;
		this.topForschung2 = topForschung2;
		this.topForschung3 = topForschung3;
		this.topForschung4 = topForschung4;
		this.topForschung5 = topForschung5;
		this.topForschung6 = topForschung6;
		this.topForschung7 = topForschung7;
		this.topForschung8 = topForschung8;
		this.topForschung9 = topForschung9;
		this.topForschung10 = topForschung10;
		this.topForschung11 = topForschung11;
		this.topForschung12 = topForschung12;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "top_key", unique = true, nullable = false)
	public Long getTopKey() {
		return this.topKey;
	}

	public void setTopKey(Long topKey) {
		this.topKey = topKey;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "top_id_topic")
	public GesSubClassification getGesSubClassification() {
		return this.gesSubClassification;
	}

	public void setGesSubClassification(
			GesSubClassification gesSubClassification) {
		this.gesSubClassification = gesSubClassification;
	}

	@Column(name = "top_start_date")
	public Integer getTopStartDate() {
		return this.topStartDate;
	}

	public void setTopStartDate(Integer topStartDate) {
		this.topStartDate = topStartDate;
	}

	@Column(name = "top_end_date")
	public Integer getTopEndDate() {
		return this.topEndDate;
	}

	public void setTopEndDate(Integer topEndDate) {
		this.topEndDate = topEndDate;
	}

	@Column(name = "top_name_topic")
	public String getTopNameTopic() {
		return this.topNameTopic;
	}

	public void setTopNameTopic(String topNameTopic) {
		this.topNameTopic = topNameTopic;
	}

	@Column(name = "top_p1", length = 200)
	public String getTopP1() {
		return this.topP1;
	}

	public void setTopP1(String topP1) {
		this.topP1 = topP1;
	}

	@Column(name = "top_p2", length = 200)
	public String getTopP2() {
		return this.topP2;
	}

	public void setTopP2(String topP2) {
		this.topP2 = topP2;
	}

	@Column(name = "top_p3", length = 200)
	public String getTopP3() {
		return this.topP3;
	}

	public void setTopP3(String topP3) {
		this.topP3 = topP3;
	}

	@Column(name = "top_p4", length = 200)
	public String getTopP4() {
		return this.topP4;
	}

	public void setTopP4(String topP4) {
		this.topP4 = topP4;
	}

	@Column(name = "top_p5", length = 200)
	public String getTopP5() {
		return this.topP5;
	}

	public void setTopP5(String topP5) {
		this.topP5 = topP5;
	}

	@Column(name = "top_p6", length = 200)
	public String getTopP6() {
		return this.topP6;
	}

	public void setTopP6(String topP6) {
		this.topP6 = topP6;
	}

	@Column(name = "top_p7", length = 200)
	public String getTopP7() {
		return this.topP7;
	}

	public void setTopP7(String topP7) {
		this.topP7 = topP7;
	}

	@Column(name = "top_p8", length = 200)
	public String getTopP8() {
		return this.topP8;
	}

	public void setTopP8(String topP8) {
		this.topP8 = topP8;
	}

	@Column(name = "top_p9", length = 200)
	public String getTopP9() {
		return this.topP9;
	}

	public void setTopP9(String topP9) {
		this.topP9 = topP9;
	}

	@Column(name = "top_p10", length = 200)
	public String getTopP10() {
		return this.topP10;
	}

	public void setTopP10(String topP10) {
		this.topP10 = topP10;
	}

	@Column(name = "top_p11", length = 200)
	public String getTopP11() {
		return this.topP11;
	}

	public void setTopP11(String topP11) {
		this.topP11 = topP11;
	}

	@Column(name = "top_p12", length = 200)
	public String getTopP12() {
		return this.topP12;
	}

	public void setTopP12(String topP12) {
		this.topP12 = topP12;
	}

	@Column(name = "top_p13", length = 200)
	public String getTopP13() {
		return this.topP13;
	}

	public void setTopP13(String topP13) {
		this.topP13 = topP13;
	}

	@Column(name = "top_p14", length = 200)
	public String getTopP14() {
		return this.topP14;
	}

	public void setTopP14(String topP14) {
		this.topP14 = topP14;
	}

	@Column(name = "top_p15", length = 200)
	public String getTopP15() {
		return this.topP15;
	}

	public void setTopP15(String topP15) {
		this.topP15 = topP15;
	}

	@Column(name = "top_p16", length = 200)
	public String getTopP16() {
		return this.topP16;
	}

	public void setTopP16(String topP16) {
		this.topP16 = topP16;
	}

	@Column(name = "top_p17", length = 200)
	public String getTopP17() {
		return this.topP17;
	}

	public void setTopP17(String topP17) {
		this.topP17 = topP17;
	}

	@Column(name = "top_p18", length = 200)
	public String getTopP18() {
		return this.topP18;
	}

	public void setTopP18(String topP18) {
		this.topP18 = topP18;
	}

	@Column(name = "top_p19", length = 200)
	public String getTopP19() {
		return this.topP19;
	}

	public void setTopP19(String topP19) {
		this.topP19 = topP19;
	}

	@Column(name = "top_p20", length = 200)
	public String getTopP20() {
		return this.topP20;
	}

	public void setTopP20(String topP20) {
		this.topP20 = topP20;
	}

	@Column(name = "top_p21", length = 200)
	public String getTopP21() {
		return this.topP21;
	}

	public void setTopP21(String topP21) {
		this.topP21 = topP21;
	}

	@Column(name = "top_p22", length = 200)
	public String getTopP22() {
		return this.topP22;
	}

	public void setTopP22(String topP22) {
		this.topP22 = topP22;
	}

	@Column(name = "top_p23", length = 200)
	public String getTopP23() {
		return this.topP23;
	}

	public void setTopP23(String topP23) {
		this.topP23 = topP23;
	}

	@Column(name = "top_forschung_1", length = 150)
	public String getTopForschung1() {
		return this.topForschung1;
	}

	public void setTopForschung1(String topForschung1) {
		this.topForschung1 = topForschung1;
	}

	@Column(name = "top_forschung_2", length = 150)
	public String getTopForschung2() {
		return this.topForschung2;
	}

	public void setTopForschung2(String topForschung2) {
		this.topForschung2 = topForschung2;
	}

	@Column(name = "top_forschung_3", length = 150)
	public String getTopForschung3() {
		return this.topForschung3;
	}

	public void setTopForschung3(String topForschung3) {
		this.topForschung3 = topForschung3;
	}

	@Column(name = "top_forschung_4", length = 150)
	public String getTopForschung4() {
		return this.topForschung4;
	}

	public void setTopForschung4(String topForschung4) {
		this.topForschung4 = topForschung4;
	}

	@Column(name = "top_forschung_5", length = 150)
	public String getTopForschung5() {
		return this.topForschung5;
	}

	public void setTopForschung5(String topForschung5) {
		this.topForschung5 = topForschung5;
	}

	@Column(name = "top_forschung_6", length = 150)
	public String getTopForschung6() {
		return this.topForschung6;
	}

	public void setTopForschung6(String topForschung6) {
		this.topForschung6 = topForschung6;
	}

	@Column(name = "top_forschung_7", length = 150)
	public String getTopForschung7() {
		return this.topForschung7;
	}

	public void setTopForschung7(String topForschung7) {
		this.topForschung7 = topForschung7;
	}

	@Column(name = "top_forschung_8", length = 150)
	public String getTopForschung8() {
		return this.topForschung8;
	}

	public void setTopForschung8(String topForschung8) {
		this.topForschung8 = topForschung8;
	}

	@Column(name = "top_forschung_9", length = 150)
	public String getTopForschung9() {
		return this.topForschung9;
	}

	public void setTopForschung9(String topForschung9) {
		this.topForschung9 = topForschung9;
	}

	@Column(name = "top_forschung_10", length = 150)
	public String getTopForschung10() {
		return this.topForschung10;
	}

	public void setTopForschung10(String topForschung10) {
		this.topForschung10 = topForschung10;
	}

	@Column(name = "top_forschung_11", length = 150)
	public String getTopForschung11() {
		return this.topForschung11;
	}

	public void setTopForschung11(String topForschung11) {
		this.topForschung11 = topForschung11;
	}

	@Column(name = "top_forschung_12", length = 150)
	public String getTopForschung12() {
		return this.topForschung12;
	}

	public void setTopForschung12(String topForschung12) {
		this.topForschung12 = topForschung12;
	}

}